/*
 * Copyright 2006-2008 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package net.martinimix.domain.order;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * Provides a planned shipment bean.
 * 
 * @author Scott Rossillo
 *
 */
public class PlannedShipment implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	/**
	 * The planned shipment type for a physical shipment.
	 */
	public final static String TYPE_PHYSICAL = "PHY";
	
	/**
	 * @@BusinessObjectProperty("psh_id")
	 */
	private Long id;
	
	/**
	 * @@BusinessObjectProperty("psh_uad_id")
	 */
	private Long addressId;
	
	/**
	 * @@BusinessObjectProperty("psh_orh_id")
	 */
	private Long orderHeaderId;
	
	/**
	 * @@BusinessObjectProperty("psh_shm_id")
	 */
	private Long shipMethodId;
	
	/**
	 * @@BusinessObjectProperty("totalAmt")
	 */
	private BigDecimal totalAmount;
	
	/**
	 * @@BusinessObjectProperty("totalShipAmt")
	 */
	private BigDecimal totalShipAmount;
	
	/**
	 * @@BusinessObjectProperty("totalTaxAmt")
	 */
	private BigDecimal totalTaxAmount;
	
	/**
	 *  @@BusinessObjectProperty("currency_cd")
	 */
	private String currencyCode;
	
	/**
	 * @@BusinessObjectProperty("type_cd")
	 */
	private String typeCode;
	
	/**
	 * @@BusinessObjectProperty("indPrimary")
	 */
	private boolean primary;
	
	
	/**
	 * Creates a new planned shipment.
	 */
	public PlannedShipment() { 
		
		currencyCode = "USD";
		typeCode = TYPE_PHYSICAL;
	}

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getAddressId() {
		return addressId;
	}

	public void setAddressId(Long addressId) {
		this.addressId = addressId;
	}

	public Long getOrderHeaderId() {
		return orderHeaderId;
	}

	public void setOrderHeaderId(Long orderHeaderId) {
		this.orderHeaderId = orderHeaderId;
	}

	public Long getShipMethodId() {
		return shipMethodId;
	}

	public void setShipMethodId(Long shipMethodId) {
		this.shipMethodId = shipMethodId;
	}

	public BigDecimal getTotalShipAmount() {
		return totalShipAmount;
	}

	public void setTotalShipAmount(BigDecimal totalShipAmount) {
		this.totalShipAmount = totalShipAmount;
	}

	public BigDecimal getTotalTaxAmount() {
		return totalTaxAmount;
	}

	public void setTotalTaxAmount(BigDecimal totalTaxAmount) {
		this.totalTaxAmount = totalTaxAmount;
	}

	public BigDecimal getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(BigDecimal totalAmount) {
		this.totalAmount = totalAmount;
	}

	public String getCurrencyCode() {
		return currencyCode;
	}

	public void setCurrencyCode(String currencyCode) {
		this.currencyCode = currencyCode;
	}

	public String getTypeCode() {
		return typeCode;
	}

	public void setTypeCode(String typeCode) {
		this.typeCode = typeCode;
	}

	public boolean isPrimary() {
		return primary;
	}

	public void setPrimary(boolean primary) {
		this.primary = primary;
	}
		
}
